Generally, through a serial bus communication protocol called I2C, a command delivery from a master provided to a host system to a slave loaded with a microcontroller unit is performed. In this case, the host system uses polling to check whether the slave has completed the processing of a previous command. If a command having been delivered to the slave from the master through I2C is still being processed, the slave makes a response in a manner of sending a non-acknowledgment signal (NAK) to the master. On the contrary, if the processing of the previous command is completed, the slave makes a response in a manner of sending an acknowledgement signal (ACK) to the master through the I2C. Therefore, the master is able to determine whether the processing for the previous command is completed by the slave using the ACK signal or the NAK signal.
The host waits until the I2C communication enters a normal state, i.e., until the ACK signal is sent from the slave. If the ACK signal is sent to the host from the slave by the I2C communication, the host is able to deliver a command to the slave. Accordingly, if the slave is processing a previous command, the slave sends NAK to the master unconditionally. However, even if a command the master attempts to send is not a write command but a read command, NAK is sent to the master. Hence, the master is unable to read data from the slave.